Objective-C Category初体验
Objective-C Category初体验
Ios技术文章收录
Objective-C Category初体验
2012-06-1412:59
阅读数:6155
单独窗口打印放大字号缩小字号
启动Xcode -> File -> New -> Project. 然后创建一个 iOS Single View Applciation。这里我们命名为 Categories.
Step2: 创建Category
现在来创建一个Category来为NSString添加扩展方法。点击 File -> New -> File 然后选择 Cocoa Touch Objective-C category. 这里我们命名为 RemoveNums。记得要从 Category on 下拉框选择 NSString,最后点击Create按钮旁的Next按钮。
选择 “NSString+RemoveNums.h”文件。添加以下代码:
1 |
@interface NSString (RemoveNums) |
|---|
2 |
- (NSString *)removeNumbersFromString:(NSString *)string;@end |
|---|
接着来到”NSString+RemoveNums.m”文件。添加以下代码。大家可以看到这个方法实际做的事情就是从整个NSString去除掉所有的数字字符。
1 |
- (NSString *)removeNumbersFromString:(NSString *)string |
|---|
2 |
{ |
|---|
3 |
``NSString *trimmedString = nil; |
|---|
4 |
``NSCharacterSet *numbersSet = [NSCharacterSet characterSetWithCharactersInString:@``"0123456789"``]; |
|---|
5 |
``trimmedString = [string stringByTrimmingCharactersInSet:numbersSet]; |
|---|
6 |
``return trimmedString; |
|---|
7 |
} |
|---|
Step3: 导入Category``在”ViewController.h”文件头部添加以下代码来导入Category
1 |
#import “NSString+RemoveNums.h” |
|---|
在 ViewController.h 文件的 viewDidLoad 方法中添加以下代码。
1 |
NSString *stringWithNums = @``"ABC 123"``; |
|---|
2 |
NSLog(@``"stringWithNums --> %@"``,stringWithNums); |
|---|
3 |
stringWithNums = [stringWithNums removeNumbersFromString:stringWithNums]; |
|---|
4 |
NSLog(@``"trimmed stringWithNums --> %@"``,stringWithNums); |
|---|
在Xcode的菜单栏点击 Product -> Run,测试过程中,请注意控制台首先输出的 “ABC 123”,然后被方法去除数字后输出的”ABC”
我们都知道添加子类是为某一种对象添加方法的途径,但是为了整个代码更加简洁直观,我们通常会用Category的扩展方法来替代子类的添加。
转自:)http://www.oschina.net/question/213217_53369?from=20120520




